package com.app.brilliant.game.service;
import com.app.brilliant.common.service.BaseService;
import com.app.brilliant.game.bean.BriCourse;
import com.app.brilliant.game.response.BriClassHourWithTypeInfo;
import com.app.brilliant.game.response.BriCourseWithCompletionInfo;

import java.util.List;
/**
* @author GF
* @description 针对表【bri_course】的数据库操作Service
* @createDate 2025-09-01 20:45:51
*/
public interface BriCourseService extends BaseService<BriCourse> {

    /**
     * 根据课程名称查询课程信息
     * @param courseName 课程名称
     * @return 课程信息
     */
    BriCourse selectOneByCourseName(String courseName);

    /**
     * 根据分类ID和锁定状态查询课程列表
     * @param cId 分类ID
     * @param locked 锁定状态
     * @return 课程列表
     */
    List<BriCourse> listByCIdAndLocked(Long cId, Integer locked);

    /**
     * 查询课程信息及用户完成度
     * @param courseId 课程ID
     * @param uid 用户ID
     * @return 课程信息及完成度
     */
    BriCourseWithCompletionInfo getCourseWithCompletionInfo(Long courseId, Integer uid);

}
